// 开始
$(function() {
	listAllUser();
});
  
// 显示所有用户
function listAllUser() {
	var gender = "男";
	$.ajax({
		type: "GET",
		url: "UserServlet?action=listAll",
		dataType: "json",
		success: function(data) {
			$("#users tbody").empty();  // 每次载入前先清空显示区域，防止数据重复显示
			var users = data.userList;
			for (var i in users) {
				var user = users[i];
				//将json转为字符串
				var userStr = JSON.stringify(user);//将对象转化成字符串
				if(user.gender != "1"){
					gender = "女";
				}
				$("#users tbody").append('<tr><td>' + user.username + '</td>'
						+ '<td>' + user.password + '</td>'
						+ '<td>' + user.name + '</td>'
						+ '<td>' + gender + '</td>'
						+ '<td>' + user.info + '</td>'
						+ '<td><button onclick=\'showUpdateUserModal(' + userStr + ')\'>更新</button>&nbsp;'
						+ '<button onclick="deleteUser(' + user.id + ')">删除</button></td></tr>');
			}
		},
		error: function() {
			console.log("ajax error");
		}
	});
}
  
  // 显示添加用户模态框
  function showAddUserModal() {
    $("#add-user-form")[0].reset();  // 每次载入前先清空表单，防止显示之前的信息
    $("#add-user-modal").dialog({
      resizable: false,
      modal: true,
      buttons: {
        "提交": function() {
          addUser();
        },
        "取消": function() {
          $(this).dialog("close");
        },
      },
    });
  }
  
  // 添加用户
  function addUser() {
    // 获取序列化表单信息
    var user = $("#add-user-form").serializeJSON();//将form表单转化为json对象
    var userStr = JSON.stringify(user);//将对象转化成字符串
    
    $.ajax({
      type: "POST",
      url: "UserServlet",
      data: userStr,
      dataType: "json",
      success: function(data) {
        if (data.effectedNum) {
          $("#add-user-modal").dialog("close");
          showMsg('添加成功！');
          listAllUser();
        } else {
          $("#add-user-modal").dialog("close");
          showMsg('添加失败！');
          listAllUser();
        }
      },
      error: function() {
        console.log("ajax error");
      },
    });
  }
  
  // 删除用户
  function deleteUser(id) {
    // 将id封装为JSON格式数据
    var data = {};
    data.id = id;
    var dataStr = JSON.stringify(data);
    // 显示删除用户模态框
    $("#delete-user-modal").dialog({
      resizable: false,
      modal: true,
      buttons: {
        "确认": function() {
          $.ajax({
            type: "DELETE",
            url: "UserServlet",
            data: dataStr,
            dataType: "json",
            success: function(data) {
              if (data.effectedNum) {
                $("#delete-user-modal").dialog("close");
                showMsg('删除成功！');
                listAllUser();
              } else {
                $("#delete-user-modal").dialog("close");
                showMsg('删除失败！');
                listAllUser();
              }
            },
            error: function() {
              console.log("ajax error");
            },
          });
        },
        "取消": function() {
          $(this).dialog("close");
        },
      },
    });
  }
  
  //显示更新用户模态框
  function showUpdateUserModal(user) {
    $("#update-user-form")[0].reset();  // 每次载入前先清空表单，防止显示之前的信息
    // 表单赋值
    $("#update-user-form input[name='id']").val(user.id);
    $("#update-user-form input[name='username']").val(user.username);
    $("#update-user-form input[name='password']").val(user.password);
    $("#update-user-form input[name='name']").val(user.name);
    $("#update-user-form input[name='gender'] [value='" + user.gender + " ']").attr("checked","checked");
    $("#update-user-form input[name='info']").val(user.info);
    
    $("#update-user-modal").dialog({
      resizable: false,
      modal: true,
      buttons: {
        "提交": function() {
          updateUser();
        },
        "取消": function() {
          $(this).dialog("close");
        },
      },
    });
  }
  
  // 更新用户
  function updateUser() {
    // 获取序列化表单信息
    var user = $("#update-user-form").serializeJSON();
    var userStr = JSON.stringify(user);//将对象转化成字符串
    
    $.ajax({
      type: "PUT",
      url: "UserServlet",
      data: userStr,
      contentType: 'application/json;charset=utf-8',
      dataType: "json",
      success: function(data) {
        if (data.effectedNum) {
          $("#update-user-modal").dialog("close");
          showMsg('更新成功！');
          listAllUser();
        } else {
          $("#update-user-modal").dialog("close");
          showMsg('更新失败！');
          listAllUser();
        }
      },
      error: function() {
        console.log("ajax error");
      },
    });
  }
  
  //显示提示信息
  function showMsg(text) {
    $("#msg-modal p").text(''); // 每次载入前先清空显示区域，防止显示之前的信息
    $("#msg-modal p").text(text);
    $("#msg-modal").dialog({
      modal: true,
    });
    // 2s后消失
    setTimeout(function() {
      $("#msg-modal").dialog("close")
    },2000);
  }